ExtJS তে ডেটা ম্যানেজমেন্টের জন্য Proxy একটি গুরুত্বপূর্ণ উপাদান, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা বিনিময় পরিচালনা করে। এটি ডেটার লোডিং, সেভিং, আপডেটিং এবং ডিলিটিং ইত্যাদি কাজ করে। AJAX, REST এবং JSON পদ্ধতি ব্যবহার করে ডেটা ফেচ করা খুবই সহজ, এবং ExtJS এর Proxy
আপনাকে এই কাজগুলো সহজভাবে সম্পন্ন করতে সহায়তা করে।
এখানে আমরা Proxy ব্যবহার করে AJAX, REST, এবং JSON পদ্ধতিতে ডেটা ফেচ করার পদ্ধতি বিস্তারিতভাবে আলোচনা করব।
Proxy ExtJS এর একটি শক্তিশালী অংশ যা ডেটা স্টোরের সাথে যোগাযোগের মাধ্যম হিসেবে কাজ করে। এটি বিভিন্ন ধরনের ডেটা পরিবহন কৌশল যেমন AJAX, REST, এবং JSON হ্যান্ডল করতে পারে।
AJAX
, REST
, SOAP
) ব্যবহার করে।reader
, writer
, এবং actionMethods
কনফিগারেশন ব্যবহার করে।AJAX (Asynchronous JavaScript and XML) একটি সাধারণ প্রযুক্তি যা সার্ভারের সাথে অ্যাসিঙ্ক্রোনাস কমিউনিকেশন চালু রাখে, যার মাধ্যমে পেজ রিফ্রেশ ছাড়াই ডেটা এক্সচেঞ্জ করা সম্ভব।
AJAX Proxy উদাহরণ:
Ext.define('MyApp.store.Users', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
proxy: {
type: 'ajax', // Proxy টাইপ AJAX
url: '/users', // সার্ভার থেকে ডেটা ফেচ করার URL
reader: {
type: 'json', // JSON ফর্ম্যাটে ডেটা রিড করা হবে
rootProperty: 'data' // JSON রেসপন্সে ডেটার মূল অংশ
},
writer: {
type: 'json' // JSON ফর্ম্যাটে ডেটা সেভ হবে
}
},
autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
type: 'ajax'
: AJAX পদ্ধতি ব্যবহার করা হয়েছে।url: '/users'
: সার্ভার থেকে ডেটা লোড করার জন্য URL দেওয়া হয়েছে।reader
: সার্ভারের JSON রেসপন্সের জন্য একটি reader
কনফিগার করা হয়েছে।autoLoad: true
: স্টোরটি অ্যাপ্লিকেশন লোডের সাথে সাথেই ডেটা লোড করবে।REST (Representational State Transfer) একটি সাধারণ আর্কিটেকচারাল স্টাইল যা HTTP প্রটোকল ব্যবহার করে ডেটা ট্রান্সফার করে। এটি মূলত CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করার জন্য ব্যবহৃত হয়।
REST Proxy উদাহরণ:
Ext.define('MyApp.store.Users', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
proxy: {
type: 'rest', // Proxy টাইপ REST
url: '/api/users', // সার্ভারের REST API URL
reader: {
type: 'json', // JSON ফরম্যাটে ডেটা রিড হবে
rootProperty: 'users'
},
writer: {
type: 'json' // JSON ফরম্যাটে ডেটা সেভ হবে
},
actionMethods: {
create: 'POST', // নতুন ডেটা যুক্ত করার জন্য HTTP POST ব্যবহার
read: 'GET', // ডেটা পড়ার জন্য HTTP GET ব্যবহার
update: 'PUT', // ডেটা আপডেট করার জন্য HTTP PUT ব্যবহার
destroy: 'DELETE' // ডেটা মুছে ফেলার জন্য HTTP DELETE ব্যবহার
}
},
autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
type: 'rest'
: RESTful API পদ্ধতি ব্যবহার করা হয়েছে।url: '/api/users'
: REST API এর URL নির্ধারণ করা হয়েছে।actionMethods
: CRUD অপারেশন পরিচালনা করতে HTTP মেথড (GET, POST, PUT, DELETE) কনফিগার করা হয়েছে।JSON (JavaScript Object Notation) একটি লাইটওয়েট ডেটা ইন্টারচেঞ্জ ফরম্যাট। ExtJS তে JSON ফরম্যাটে ডেটা রিড এবং রাইট করার জন্য JSON Proxy ব্যবহার করা হয়।
JSON Proxy উদাহরণ:
Ext.define('MyApp.store.Users', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
proxy: {
type: 'ajax', // AJAX মাধ্যমে ডেটা ফেচ করা
url: '/users', // JSON ডেটার জন্য URL
reader: {
type: 'json', // JSON রিডার
rootProperty: 'data' // JSON রেসপন্সে ডেটার মূল অংশ
},
writer: {
type: 'json' // JSON লেখার জন্য writer ব্যবহার
}
},
autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
type: 'ajax'
: AJAX পদ্ধতি ব্যবহার করা হচ্ছে।reader
: JSON রিডারটি ডেটার মূল অংশ data
থেকে ডেটা রিড করবে।writer
: JSON লেখার জন্য writer কনফিগার করা হয়েছে।ExtJS এ Proxy
ব্যবহার করে আপনি Create, Read, Update, এবং Delete (CRUD) অপারেশন সমর্থন করতে পারেন। নিচে একটি উদাহরণ দেওয়া হল যেটি ডেটা সেভ (UPDATE) এবং ডিলিট (DELETE) করতে ব্যবহৃত হয়।
var user = Ext.create('MyApp.model.User', {
id: 1,
name: 'John Doe',
email: 'john.doe@example.com'
});
// স্টোরে ডেটা আপডেট করা
user.save({
success: function() {
console.log('User updated successfully');
},
failure: function() {
console.log('Failed to update user');
}
});
var user = Ext.create('MyApp.model.User', {
id: 1
});
// ডেটা মুছে ফেলা
user.erase({
success: function() {
console.log('User deleted successfully');
},
failure: function() {
console.log('Failed to delete user');
}
});
ExtJS তে Proxy ব্যবহার করে আপনি সোজা এবং কার্যকরভাবে বিভিন্ন ডেটা সোর্সের সাথে যোগাযোগ করতে পারেন এবং CRUD অপারেশনগুলো খুবই সহজে পরিচালনা করতে পারেন।